// 导入 express
const express = require("express");
// 创建路由对象
const router = express.Router();

// 导入数据库操作模块
const db = require("../db/index");

// 导入用户信息的处理函数模块
const userinfo_handler = require("../router_handler/userinfo");

// 获取用户的基本信息
router.get("/userinfo", (req, res) => {
  // 获取用户的基本信息
  router.get("/userinfo", userinfo_handler.getUserInfo);

  // 根据用户的 id，查询用户的基本信息
  // 注意：为了防止用户的密码泄露，需要排除 password 字段
  const sql = `select id, username, nickname, email, user_pic from ev_users where id=?`;

  // 注意：req 对象上的 user 属性，是 Token 解析成功，express-jwt 中间件帮我们挂载上去的
  db.query(sql, req.user.id, (err, results) => {
    // 1. 执行 SQL 语句失败
    if (err) return res.cc(err);

    // 2. 执行 SQL 语句成功，但是查询到的数据条数不等于 1
    if (results.length !== 1) return res.cc("获取用户信息失败！");

    // 3. 将用户信息响应给客户端
    res.send({
      status: 0,
      message: "获取用户基本信息成功！",
      data: results[0],
    });
  });
});

// 向外共享路由对象
module.exports = router;